<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2020/7/3
 * Time: 13:10
 */

namespace app\admin\controller;


use app\reuse\controller\ResponseJson;
use think\App;
use think\Controller;
use think\Db;

class Systemset extends Controller
{
    use ResponseJson;

    function __construct(App $app = null)
    {
        parent::__construct($app);
    }
    /*
     * @param null
     * @content 系统设置列表
     * @return array
     * */
    function index()
    {
        if(input("get.active") == "ajax"){
            # 定义listRows
            $listRows = input('post.limit');
            if (empty($listRows)) {
                $listRows = 15;
            }
            $info = Db::table('sysset_account ')
                ->paginate($listRows, false, ['query' => request()->param()]);
            # 返回数据
            return $this->jsonSuccessData($info);
        }else{
            return $this->fetch();

        }

    }
    /*
      * @param null
      * @content 创建账号
      * @return array
      * */
    function add()
    {
        if(input("get.active")=="ajax"){
            $info = input("post.");
            $confirm_pass= input("post.confirm_pass");
            #明文密码 用来查看密码是多少的
            $info['rawpass'] = $info['password'];
            unset($info['file'],$info['confirm_pass']);
            if(!empty($info)){
                #判断 当前密码是否正确
                if($info['password'] == $confirm_pass){
                    $info['password'] = md5($info['password']);

                    #执行添加操作
                    $result= Db::table("sysset_account")->insert($info);
                    if($result){
                        # 返回数据
                        return array("status"=>true);

                    }else{
                        return array("status"=>false,'msg'=>'提交失败');
                    }
                }else{
                    return array("status"=>false,'msg'=>'密码和确认密码不相等');

                }

            }else{
                return array("status"=>false,'msg'=>'没有接收到参数');

            }

        }else{
            return $this->fetch();
        }
    }
    /*
      * @param null
      * @content 修改账号
      * @return array
      * */
    function write()
    {
        if(input("get.active")=="ajax"){
            #接收参数
            $id = input("post.id");
            #确认密码
            $confirm_pass= input("post.confirm_pass");
            #原密码
            $rawpass= input("post.rawpass");
            $info = input("post.");
            unset($info['file'],$info['confirm_pass'],$info['rawpass']);
            if(!empty($info)){
                if(!empty($rawpass)){
                    #原密码是否正确
                    $oldpass = Db::table("sysset_account")->field("rawpass")->where("id = $id")->find();
                    if($oldpass['rawpass'] == $rawpass){
                        #判断 当前密码是否正确
                        if($info['password'] == $confirm_pass){
                            #判断
                            if(!empty($info['password'])){
                                $info['rawpass'] = $info['password'];
                                $info['password'] = md5($info['password']);
                                #执行添加操作
                                $result= Db::table("sysset_account")->where("id = $id")->update($info);
                                # 返回数据
                                return array("status"=>true,'msg'=>'密码修改成功!');
                            }else{
                                return array("status"=>false,'msg'=>'新密码不能为空');
                            }
                        }else{
                            return array("status"=>false,'msg'=>'新密码和确认密码不相等');
                        }
                    }else{
                        return array("status"=>false,'msg'=>'原密码不正确');
                    }
                }else{
                    #如果新密码不为空 或原密码不为空  提示请填写 原密码
                    if(!empty($info['password']) or !empty($confirm_pass)){
                        return array("status"=>false,'msg'=>'请先填写原密码！');

                    }else{
                        unset($info['password']);
                        #执行添加操作
                        $result= Db::table("sysset_account")->where("id = $id")->update($info);
                        # 返回数据
                        return array("status"=>true,'msg'=>'操作成功！');
                    }
                }


            }else{
                return array("status"=>false,'msg'=>'没有接收到参数');

            }

        }else{
            $id= input("get.id");
            $info = Db::table("sysset_account")->where("id = $id")->find();
            $this->assign("info",$info);
            $this->assign("id",$id);
            return $this->fetch();
        }
    }
    /*
    * @param null
    * @content 删除
    * @return array
    * */
    function del(){
        #删除的id
        $id = input("post.id");
        if(!empty($id)){
            if($id!=1){
                #问题删除
                Db::table('sysset_account')->where("id = $id")->delete();
                return array("status"=>true);
            }else{
                return array("status"=>false,'msg'=>"超级管理员不能删除!");
            }
        }
    }
}